#include <stdio.h>
#include <math.h>
#include <stdbool.h>
#define true    1
#define false  0

//封装成一个函数（判断一个数是否是素数）
bool IsPrime(int num)   //二元返回值用bool类型（类数据类型）    
{
    for(int i = 2; i <= sqrt(num); i++)  //sqrt开方函数
    {
        if(num % i == 0)
        {
            return false;  
        }
    }
    return true;
}
//bool IsPrime(int num)； //声明该函数存在（函数定义在调用之后需要提前声明）

int main()
{
#if 0
    //判断一个数是否是素数
    int num = 219;
    for(int i = 2; i < 219; i++)
    {
        if(num % i == 0)
        {
            printf("不是素数: %d %d!\n",i,num / i);
            return -1;  //结束main函数
        }
    }
    printf("是一个素数！\n");
#endif

#if 1
    //验证哥德巴赫猜想（任意一个大于6的数都可以拆成两个素数之和）
    int num = 222362;   //a     num-a
    for(int i = 2; i < num / 2; i++)
    {
        if(IsPrime(i) == true && IsPrime(num-i) == true)
        {
            printf("找到了 %d %d\n",i,num-i);
            break;
        }
    }
#endif
    return 0;
}